==================================================
3DSRS - Spaced Repetition Flashcard App for 3DS
==================================================
Version: 1.2.1
Author: Nebula1446
(C) 2026 Nebula1446
https://gbatemp.net/threads/release-3dsrs-flashcard-app-with-sm-2.680868/

This app helps you memorize anything using spaced repetition (inspired by SM-2).

====================
Installation
====================
Choose one of the following options:

[Option A: Homebrew Launcher (.3dsx)]
1. Copy /3ds/3DSRS.3dsx to your SD card.
2. Launch via Homebrew Launcher.

[Option B: HOME Menu (.cia)]
1. Install 3DSRS.cia using a title manager (e.g., FBI).
2. Launch from the HOME Menu.

If you need sample decks, copy the /3DSRS/ folder to the root directory. Even if you skip this step, the folder will be created automatically (the deck will be empty).

====================
How to Use
====================
1. Put your .tsv deck files (converted with the converter) into /3DSRS/ on your SD card.
2. Select a deck with D-pad Up/Down, then press A or tap "Study".
3. On the question screen, press A or tap "Show Answer".
4. Rate your answer with the face buttons or touch:
   - Y = Again (try again later; if pressed again, reschedules to a future session)
   - B = Hard (shorter interval)
   - A = Good (normal interval)
   - X = Easy (much longer interval)
5. Press L to Pause/Resume elapsed timer (long press to reset)
   Press R to Pause/Resume avg timer (long press to reset)
   Both timers automatically pause when the system sleeps (lid closed) or the HOME Menu is opened.
6. Press SELECT (on deck select screen) to open settings.
7. Press START to exit the app (on deck select screen) or return to deck select screen (during a session).
8. On the bottom screen, switch tabs with Circle Pad Left/Right.
   - Info tab: shows elapsed time, battery, and today's progress.
   - Canvas tab: touch screen to draw notes or practice writing.
   Circle Pad Up/Down: clear canvas (canvas tab only).

The app automatically measures your average answer time per card and shows it on the bottom screen.

====================
Sample Decks
====================
The zip includes two sample .tsv files in the /3DSRS/ folder:

- sample1_3DSRS.tsv : Italian basics (20 cards)
- sample2_3DSRS.tsv : Japanese intermediate (20 cards)

You can use these to test the app immediately. Just copy them to /3DSRS/ and launch.

====================
Settings
====================
Edit settings to change these values:

- Again/Hard/Good/Easy
  Minimum interval in days for each score (0 = use SM-2 default).
  This is useful for setting minimum intervals for new cards. If the SM-2 interval is larger, SM-2 takes precedence.

- Review cards per day
  Global limit across all decks (0 = unlimited). 

- New cards per day
  Global limit across all decks (0 = unlimited).

====================
Deck Format (.tsv)
====================
The app uses tab-separated value files with 9 columns:

id    due    interval    ease    reps    session_again    session_date    question    answer

- id: 12-digit hex string
- due: Unix timestamp when the card should be reviewed next
- interval: current interval in days
- ease: ease factor (2.5 initially)
- reps: number of times the card has been answered correctly
- session_again: how many times the card was marked Again today
- session_date: last date (YYYYMMDD) when session_again was counted
- question: the front of the card
- answer: the back of the card

You can use the included converter (3DSRS_Converter.exe) to turn CSV files into TSV decks.

====================
3DSRS Deck Manager
====================
- Run 3DSRS_Manager.exe.
- It converts a CSV file (question, answer) to TSV format with IDs,
  merges learning history, and can show a statistics dashboard.
- Use a CSV file with exactly two columns: question,answer.

First-time conversion:
- Only a CSV file is required. Select it and press Convert.
- IDs will be assigned automatically and written back into the CSV.
- A TSV file will be created alongside it (e.g. deck_3DSRS.tsv).

Subsequent conversions (updating an existing deck):
- Select the same CSV file again.
- Also select the previously generated TSV file, so your learning
  history (due, interval, ease, reps) is preserved and merged in.
- If you only edit questions/answers in the CSV (without touching
  the ID column), the changes will automatically carry over to the
  TSV on the next conversion — no need to edit the TSV directly.
- IMPORTANT: Do not edit or remove the ID column in the CSV. IDs are
  what link a card to its learning history; changing them will cause
  that card's history to be treated as new.

Statistics:
- Select a TSV file (via the TSV Browse button) and press Statistics
  to open a dashboard (in your browser) showing card counts, ease
  distribution, review forecast, and interval distribution.

Other notes:
- Only supports comma-separated UTF-8 format. Tab-separated files and
  fields containing line breaks are NOT supported.
- The converter overwrites the imported CSV with IDs. Make sure to
  create a backup copy of any important CSV file before using it!

=====================
Troubleshooting & FAQ
=====================
Q: No decks found?
A: Make sure your .tsv files are inside /3DSRS/ on your SD card.

Q: How does the daily Review/New limit work?
A: The limits apply to the total number of cards you study across all decks. The app counts how many review and new cards you have answered correctly today regardless of which deck you use. Separate per-deck limits are not supported.

Q: If I close the lid, does the elapsed timer pause?
A: Yes, both the elapsed timer and the avg timer automatically pause when the system enters sleep mode or when the HOME Menu is opened. They resume when you return to the app, unless you had manually paused them beforehand — in that case, they remain paused.

Q: Can I use my existing Anki decks?
A: Yes, if you convert them to the TSV format (use the included converter).

Q: When does the daily Review/New limit reset?
A: The day resets at 4:00 AM (system time).

Q: Why does pressing "Again" not increase the Today count?
A: Today only counts cards answered Hard/Good/Easy. "Again" is not counted. Note that the avg timer counts all answered cards, including "Again."

Q: When is the canvas cleared?
A: The canvas is cleared when you move to the next card.

Q: "No cards for this session" is displayed?
A: You have either reached the daily limit on the number of study cards or the card is not yet due. Please check the statistics in Manager for more details.

====================
License & Disclaimer
====================
- Freeware. Redistribution allowed only via link to the original release thread.
- Please credit the author when sharing.
- Modification and commercial use prohibited.
- Use at your own risk. Always back up your deck files.
- This app is NOT affiliated with Anki.
